package br.ufsc.aps.convocados;

import br.ufsc.inf.leobr.cliente.Jogada;

public class Lance implements Jogada {

    protected boolean oponenteVencedor;
    private TipoLance tipoLance;
    //--envia sempre
    private Baralho baralho;
    //--Quando for colocar jogador, só
    private Jogador jogadorAdicionado;
    private TipoPosicao tipoPosicaoEmQueJogadorFoiAdicionado;
    //--Quando for substituicao
    private Jogador jogadorSubstituido;
    //--quando for troca de esquema e inicio de jogo
    private Posicao defesa;
    private Posicao meio;
    private Posicao ataque;
    //--    
    
    
    

    public Lance(TipoLance tipoLance, Baralho baralho) {
        this.tipoLance = tipoLance;
        this.baralho = baralho;
    }

    public boolean isOponenteVencedor() {
        return oponenteVencedor;
    }

    public void setOponenteVencedor(boolean oponenteVencedor) {
        this.oponenteVencedor = oponenteVencedor;
    }

    /**
     * @return the tipoLance
     */
    public TipoLance getTipoLance() {
        return tipoLance;
    }

    /**
     * @param tipoLance the tipoLance to set
     */
    public void setTipoLance(TipoLance tipoLance) {
        this.tipoLance = tipoLance;
    }

    /**
     * @return the baralho
     */
    public Baralho getBaralho() {
        return baralho;
    }

    /**
     * @param baralho the baralho to set
     */
    public void setBaralho(Baralho baralho) {
        this.baralho = baralho;
    }

    /**
     * @return the jogadorAdicionado
     */
    public Jogador getJogadorAdicionado() {
        return jogadorAdicionado;
    }

    /**
     * @param jogadorAdicionado the jogadorAdicionado to set
     */
    public void setJogadorAdicionado(Jogador jogadorAdicionado) {
        this.jogadorAdicionado = jogadorAdicionado;
    }

    /**
     * @return the tipoPosicaoEmQueJogadorFoiAdicionado
     */
    public TipoPosicao getTipoPosicaoEmQueJogadorFoiAdicionado() {
        return tipoPosicaoEmQueJogadorFoiAdicionado;
    }

    /**
     * @param tipoPosicaoEmQueJogadorFoiAdicionado the tipoPosicaoEmQueJogadorFoiAdicionado to set
     */
    public void setTipoPosicaoEmQueJogadorFoiAdicionado(TipoPosicao tipoPosicaoEmQueJogadorFoiAdicionado) {
        this.tipoPosicaoEmQueJogadorFoiAdicionado = tipoPosicaoEmQueJogadorFoiAdicionado;
    }

    /**
     * @return the jogadorSubstituido
     */
    public Jogador getJogadorSubstituido() {
        return jogadorSubstituido;
    }

    /**
     * @param jogadorSubstituido the jogadorSubstituido to set
     */
    public void setJogadorSubstituido(Jogador jogadorSubstituido) {
        this.jogadorSubstituido = jogadorSubstituido;
    }

    /**
     * @return the defesa
     */
    public Posicao getPosicaoDefesa() {
        return defesa;
    }

    /**
     * @param defesa the defesa to set
     */
    public void setPosicaoDefesa(Posicao defesa) {
        this.defesa = defesa;
    }

    /**
     * @return the meio
     */
    public Posicao getPosicaoMeio() {
        return meio;
    }

    /**
     * @param meio the meio to set
     */
    public void setPosicaoMeio(Posicao meio) {
        this.meio = meio;
    }

    /**
     * @return the ataque
     */
    public Posicao getPosicaoAtaque() {
        return ataque;
    }

    /**
     * @param ataque the ataque to set
     */
    public void setPosicaoAtaque(Posicao ataque) {
        this.ataque = ataque;
    }
}
